Generating input data structures for automated program testing
نویسندگان
چکیده
Automatic test data generation usually concerns identifying input values that cause a selected path to execute. If a given path involves pointers, then input values may be represented in terms of 2-dimensional dynamic data structures such as lists or trees. When testing is conducted for programs in the presence of pointers, it is very important to identify a shape of the input data structure describing how many nodes are required and how nodes are connected each other. The approach presented in this paper makes use of the points-to information for each statement in the selected path that will be used to represent the shape of an input data structure. It also converts each statement into static single assignment (SSA) form without pointer dereferences. This allows the approach to consider each statement in the selected path as a constraint involving equality or inequality to make use of current constraint solving systems without significant effort. The SSA form serves as a system of constraints to be solved to yield input values for non-pointer types. An empirical evaluation shows that shape generation can be achieved in linear time in terms of the number of pointer dereference operations.
منابع مشابه
Data Generation Techniques for Automated Software Robustness T
Commercial software components are being used in an increasingly large number of critical applications. Hospitals, military organizations, banks, and others are relying on the robust behavior of software they did not write. Due to the high cost of manual software testing, automated software testing is a desirable, yet difficult goal. One of the difficulties of automated software testing is the ...
متن کاملGenerating Structurally Complex Tests from Declarative Constraints
This dissertation describes a method for systematic constraint-based test generation for programs that take as inputs structurally complex data, presents an automated SAT-based framework for testing such programs, and provides evidence on the feasibility of using this approach to generate high quality test suites and find bugs in non-trivial programs. The framework tests a program systematicall...
متن کاملAutomated Software Test Data Generation
Abstracr-Test data generation in program testing is the process of identifying a set of test data which satisfies given testing criterion. Most of the existing test data generators 161, [It], [lo], [16], [30] use symbolic evaluation to derive test data. However, in practical programs this technique frequently requires complex algebraic manipulations, especially in the presence of arrays. In thi...
متن کاملGenerating Structurally Complex Test Cases By Data Mutation: A Case Study Of Testing An Automated Modelling Tool
Generation of adequate test cases is difficult and expensive, especially for testing software systems whose input is structurally complex. This paper presents an approach called data mutation to generating a large number of test data from a few seed test cases. It is inspired by mutation testing methods, but differs from them in the aim and the way that mutation operators are defined and used. ...
متن کاملIGUANA: Input Generation Using Automated Novel Algorithms. A Plug and Play Research Tool
IGUANA is a tool for automatically generating software test data using search-based approaches. Search-based approaches explore the input domain of a program for test data and are guided by a fitness function. The fitness function evaluates input data and measures how suitable it is for a given purpose, for example the execution of a particular statement in a program, or the falsification of an...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw. Test., Verif. Reliab.
دوره 19 شماره
صفحات -
تاریخ انتشار 2009